
/**************************************************************
 * 
 * Copyright ? 2012，北京福富软件技术股份有限公司
 * All Rights Reserved.
 * ------------------------------------------------------------
 * 文件名称：DateUtil.java
 * 文件摘要：时间类工具包
 * 初始版本：V1.0.0
 * 初始作者：Linz
 * 完成日期：2013
 * 
 **************************************************************/
package com.util;

import org.ocpsoft.prettytime.PrettyTime;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

/**************************************************************************
 * 
 * 类名：DateUtil<br>
 * <br>
 * 功能：时间类工具包<br>
 * <br>
 * 作者：Linz 2013<br>
 * <br>
 * 属性列表：<br>
 * 		无<br>
 * <br>
 * 方法列表：<br>
 * 		public static String DateToFullString(Date inDate)<br>
 * 		public static String DateToSimpleStr(Date inDate)<br>
 * 		public static Date StringToFullDate(String inStr)<br>
 * 		public static Date StringToSimpleDate(String inStr)<br>
 * 		public static String DateToPatternString(Date inDate, String pattern)<br>
 * 		public static Date getDateOfInterval(Date inDate, int interval, int type)<br>
 * 		public static long getIntervalOfDate(Date inDate1, Date inDate2, int type)<br>
 * 		public static boolean isLeapYear(int inYear)<br>
 * 		public static int getDaysOfMonth(int inYear, int inMonth)<br>
 * 		...<br>
 * <br>
 * 修改记录：<br>
 * 		日期				修改人			修改说明<br>
 * 
 **************************************************************************/
public class DateUtil 
{
	/**************************************************************************
	 * 
	 * 函数名：public static String DateToFullString(Date inDate)<br>
	 * <br>
	 * 功能：把日期型转换成字符串"yyyy-MM-dd HH:mm:ss"<br>
	 * <br>
	 * 作者：Linz 2013<br>
	 * <br>
	 * 参数表：<br>
	 * 		Date inDate -> 时间对象<br>
	 * <br>
	 * 返回值：<br>
	 * 		String -> 时间的字符串格式yyyy-MM-dd HH:mm:ss<br>
	 * <br>
	 * 修改记录：<br>
	 * 		日期				修改人			修改说明<br>
	 * 
	 **************************************************************************/
	public static String DateToFullString(Date inDate) 
	{
		if (inDate==null)	return null;
		try {
			SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			String outStr = formatter.format(inDate);
			return outStr;
		}
		catch (Exception e) {
			return null;
		}
	}


	/*
	* 与当前时间  相差
	*
	* */
	public static String testMinutesAgo(Date date)  {
		try {
			Date now = new Date();
			PrettyTime t = new PrettyTime(now);
			return t.format(date);
		}
			catch (Exception e) {
				return null;
			}
	}
	
	
	/**************************************************************************
	 * 
	 * 函数名：public static String DateToSimpleString(Date inDate)<br>
	 * <br>
	 * 功能：把日期型转换成字符串"yyyy-MM-dd"<br>
	 * <br>
	 * 作者：Linz 2013<br>
	 * <br>
	 * 参数表：<br>
	 * 		Date inDate -> 时间对象<br>
	 * <br>
	 * 返回值：<br>
	 * 		String -> 时间的字符串格式yyyy-MM-dd<br>
	 * <br>
	 * 修改记录：<br>
	 * 		日期				修改人			修改说明<br>
	 * 
	 **************************************************************************/
	public static String DateToSimpleString(Date inDate) 
	{
		if (inDate==null)	return null;
		try {
			SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
			String outStr = formatter.format(inDate);
			return outStr;
		}
		catch (Exception e) {
			return null;
		}
	}
	
	/**************************************************************************
	 * 
	 * 函数名：FormatStringDate <br>
	 * <br>
	 * 功能：把日期字条串中的"-"去除<br>
	 * <br>
	 * 作者： ChenKQ 2013-10-11<br>
	 * <br>
	 * 参数表：<br>
	 * 		@param date
	 * 		@return<br>		
	 * <br>
	 * 返回值：<br>
	 * 		String
	 * <br>
	 * 修改记录：<br>
	 * 		日期				修改人			修改说明<br>
	 * 
	 **************************************************************************/
	public static String FormatStringDate(String date) 
	{
		String newDate = "";
		String tmp[] = date.split("-");
		for (int i = 0; i < tmp.length; i++)
		{
			newDate += tmp[i];
		}
		return newDate;
	}
	
	/**************************************************************************
	 * 
	 * 函数名:static Date addDay(Date date, int num)<br>
	 * <br>
	 * 功能：增加或减少天数 <br>
	 * <br>
	 * 作者：yaozhx 2015-05-25<br>
	 * <br>
	 * 参数表：<br>
	 * 		Date date -> 时间<br>]
	 *       int num -> 相差的天数
	 * <br>
	 * 返回值：<br>
	 * 		Date -> 时间对象<br>
	 * <br>
	 * 修改记录：<br>
	 * 		日期				修改人			修改说明<br>
	 * 
	 **************************************************************************/
	  public static Date addDay(Date date, int num) {  
	     Calendar startDT = Calendar.getInstance();  
	     startDT.setTime(date);  
	     startDT.add(Calendar.DAY_OF_MONTH, num);  
	     return startDT.getTime();  
	  }  
	
	
	/**************************************************************************
	 * 
	 * 函数名：public static Date StringToFullDate(String inStr)<br>
	 * <br>
	 * 功能：把字符串"yyyy-MM-dd HH:mm:ss"转为完整时间<br>
	 * <br>
	 * 作者：Linz 2013<br>
	 * <br>
	 * 参数表：<br>
	 * 		String inStr -> 字符串时间<br>
	 * <br>
	 * 返回值：<br>
	 * 		Date -> 时间对象<br>
	 * <br>
	 * 修改记录：<br>
	 * 		日期				修改人			修改说明<br>
	 * 
	 **************************************************************************/
	public static Date StringToFullDate(String inStr) 
	{
		if (inStr==null || "".equals(inStr.trim())) 
			return null;
		try {
			SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			Date outDate = formatter.parse(inStr);
			return outDate;
		}
		catch (Exception e) {
			return null;
		}
	}
	
	
	/**************************************************************************
	 * 
	 * 函数名：public static Date StringToSimpleDate(String inStr)<br>
	 * <br>
	 * 功能：把字符串"yyyy-MM-dd"转为完整日期<br>
	 * <br>
	 * 作者：Linz 2013<br>
	 * <br>
	 * 参数表：<br>
	 * 		String inStr -> 字符串时间<br>
	 * <br>
	 * 返回值：<br>
	 * 		Date -> 时间对象<br>
	 * <br>
	 * 修改记录：<br>
	 * 		日期				修改人			修改说明<br>
	 * 
	 **************************************************************************/
	public static Date StringToSimpleDate(String inStr) 
	{
		if (inStr==null || "".equals(inStr.trim())) 
			return null;
		try {
			SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
			Date outDate = formatter.parse(inStr);
			return outDate;
		}
		catch (Exception e) {
			return null;
		}
	}
	
	
	/**************************************************************************
	 * 
	 * 函数名：public static String DateToPatternString(Date inDate, String pattern)<br>
	 * <br>
	 * 功能：把日期型转换成指定格式的字符串<br>
	 * <br>
	 * 作者：Linz 2013<br>
	 * <br>
	 * 参数表：<br>
	 * 		Date   inDate	-> 时间对象<br>
	 * 		String pattern	-> 时间格式串<br>
	 * <br>
	 * 返回值：<br>
	 * 		String -> 转换后的时间格式字符串<br>
	 * <br>
	 * 修改记录：<br>
	 * 		日期				修改人			修改说明<br>
	 * 
	 **************************************************************************/
	public static String DateToPatternString(Date inDate, String pattern)
	{
		if (inDate==null || pattern==null || "".equals(pattern.trim()))
			return null;
		try {
			SimpleDateFormat sdf = new SimpleDateFormat(pattern);
			return sdf.format(inDate);
		}
		catch (Exception e) {
			return null;
		}
	}
	
	
	/**************************************************************************
	 * 
	 * 函数名：public static String DateToPatternString(Date inDate, String pattern)<br>
	 * <br>
	 * 功能：把日期型转换成指定格式的字符串<br>
	 * <br>
	 * 作者：Linz 2013<br>
	 * <br>
	 * 参数表：<br>
	 * 		Date   inDate	-> 时间对象<br>
	 * 		String pattern	-> 时间格式串<br>
	 * <br>
	 * 返回值：<br>
	 * 		String -> 转换后的时间格式字符串<br>
	 * <br>
	 * 修改记录：<br>
	 * 		日期				修改人			修改说明<br>
	 * 
	 **************************************************************************/
	public static Date DateToPatternDate(Date inDate, String pattern)
	{
		if (inDate==null || pattern==null || "".equals(pattern.trim()))
			return null;
		try {
			SimpleDateFormat sdf = new SimpleDateFormat(pattern);
			Date ddd;
			ddd = sdf.parse(sdf.format(inDate));
			return ddd;
		}
		catch (Exception e) {
			return null;
		}
	}
	
	
	/**************************************************************************
	 * 
	 * 函数名：public static Date StringToPatternString(String inStr, String pattern)<br>
	 * <br>
	 * 功能：把字符串转换成指定格式的时间<br>
	 * <br>
	 * 作者：Linz 2013<br>
	 * <br>
	 * 参数表：<br>
	 * 		String inStr    -> 字符串<br>
	 * 		String pattern	-> 时间格式串<br>
	 * <br>
	 * 返回值：<br>
	 * 		String -> 转换后的时间格式字符串<br>
	 * <br>
	 * 修改记录：<br>
	 * 		日期				修改人			修改说明<br>
	 * 
	 **************************************************************************/
	public static Date StringToPatternString(String inStr, String pattern)
	{
		if (inStr==null || "".equals(inStr.trim()))	
			return null;
		if (pattern==null || "".equals(pattern.trim()))
			return null;
		try {
			SimpleDateFormat formatter = new SimpleDateFormat(pattern);
			Date outDate = formatter.parse(inStr);
			return outDate;
		}
		catch (Exception e) {
			return null;
		}
	}
	
	
	/**************************************************************************
	 * 
	 * 函数名：public static Date getDateOfInterval(Date date, int n, int type)<br>
	 * <br>
	 * 功能：根据类型取得距离指定时间相差N个间隔的时间<br>
	 * <br>
	 * 作者：Linz 2013<br>
	 * <br>
	 * 参数表：<br>
	 * 		Date inDate -> 日期<br>
	 * 		int  n 	 	-> 时间间隔，N可以为正整数或负整数<br>
	 * 		int  type 	-> 时间类型1:年2:月3:日4:时5:分6:秒<br>
	 * <br>
	 * 返回值：<br>
	 * 		Date -> 时间对象<br>
	 * <br>
	 * 修改记录：<br>
	 * 		日期				修改人			修改说明<br>
	 * 
	 **************************************************************************/
	public static Date getDateOfInterval(Date inDate, int interval, int type)
	{
		if (inDate==null)		return null;
		if (type<1 || type>6) 	return null;
		try {
			Calendar cd = Calendar.getInstance();
			cd.setTime(inDate);
			switch(type)
			{
				case 1:
					cd.add(Calendar.YEAR, interval);
					break;
				case 2:
					cd.add(Calendar.MONTH, interval);
					break;
				case 3:
					cd.add(Calendar.DATE, interval);
					break;
				case 4:
					cd.add(Calendar.HOUR, interval);
					break;
				case 5:
					cd.add(Calendar.MINUTE, interval);
					break;
				case 6:
					cd.add(Calendar.SECOND, interval);
					break;
				default:
					return null;
			}
			return cd.getTime();
		}
		catch (Exception e) {
			return null;
		}
	}
	
	
	/**************************************************************************
	 * 
	 * 函数名：public static long getIntervalOfDate(Date inDate1, Date inDate2, int type)<br>
	 * <br>
	 * 功能：根据类型，取得两个时间的差值<br>
	 * <br>
	 * 作者：Linz 2013<br>
	 * <br>
	 * 参数表：<br>
	 * 		Date inDate1  -> 时间1<br>
	 * 		Date inDate2  -> 时间2<br>
	 * 		int  type 	  -> 时间类型1:年2:月3:日4:时5:分6:秒<br>
	 * <br>
	 * 返回值：<br>
	 * 		int -> 相差间隔<br>
	 * <br>
	 * 修改记录：<br>
	 * 		日期				修改人			修改说明<br>
	 * 
	 **************************************************************************/
	public static long getIntervalOfDate(Date inDate1, Date inDate2, int type)
	{
		if (type<1 || type>6) { return -999999; }
		try
		{
			Calendar cd1 = Calendar.getInstance();
			cd1.setTime(inDate1);
			Calendar cd2 = Calendar.getInstance();
			cd2.setTime(inDate2);
			switch (type)
			{
				case 1:
					return cd1.get(Calendar.YEAR)-cd2.get(Calendar.YEAR);
				case 2:
					return (cd1.get(Calendar.MONTH)-cd2.get(Calendar.MONTH))+12*(cd1.get(Calendar.YEAR)-cd2.get(Calendar.YEAR));
				case 3:
					return (cd1.getTimeInMillis()-cd2.getTimeInMillis())/(1000*60*60*24);
				case 4:
					return (cd1.getTimeInMillis()-cd2.getTimeInMillis())/(1000*60*60);
				case 5:
					return (cd1.getTimeInMillis()-cd2.getTimeInMillis())/(1000*60);
				case 6:
					return (cd1.getTimeInMillis()-cd2.getTimeInMillis())/(1000);
				default :
					return -999999;
			}
		}
		catch (Exception e)
		{
			return -999999;
		}
	}
	
	
	/**************************************************************************
	 * 
	 * 函数名：public static int isLeapYear(int inYear)<br>
	 * <br>
	 * 功能：判断传入的年份是否为闰年<br>
	 * <br>
	 * 作者：Linz 2013<br>
	 * <br>
	 * 参数表：<br>
	 * 		int inYear -> 年份<br>
	 * <br>
	 * 返回值：<br>
	 * 		boolean -> 是或否<br>
	 * <br>
	 * 修改记录：<br>
	 * 		日期				修改人			修改说明<br>
	 * 
	 **************************************************************************/
	public static boolean isLeapYear(int inYear)
	{
		return (inYear%400==0 || inYear%4==0&&inYear%100!=0) ? true : false;
	}
	
	
	/**************************************************************************
	 * 
	 * 函数名：public static int getDaysOfMonth(int inYear, int inMonth)<br>
	 * <br>
	 * 功能：取得月份的天数<br>
	 * <br>
	 * 作者：Linz 2013<br>
	 * <br>
	 * 参数表：<br>
	 * 		int inYear  -> 年份<br>
	 * 		int inMonth -> 月份<br>
	 * <br>
	 * 返回值：<br>
	 * 		int -> 天数<br>
	 * <br>
	 * 修改记录：<br>
	 * 		日期				修改人			修改说明<br>
	 * 
	 **************************************************************************/
	public static int getDaysOfMonth(int inYear, int inMonth)
	{
		switch (inMonth)
		{
			case 1:
				return 31;
			case 2:
				return (isLeapYear(inYear) ? 29 : 28);
			case 3:
				return 31;
			case 4:
				return 30;
			case 5:
				return 31;
			case 6:
				return 30;
			case 7:
				return 31;
			case 8:
				return 31;
			case 9:
				return 30;
			case 10:
				return 31;
			case 11:
				return 30;
			case 12:
				return 31;
			default:
				return -1;
		}
	}
	
	/**************************************************************************
	 * 
	 * 函数名：public static Date StringToPatternDate(String inStr, String pattern)<br>
	 * <br>
	 * 功能：把字符串转换成指定格式的时间<br>
	 * <br>
	 * 作者：Linz 2012-02<br>
	 * <br>
	 * 参数表：<br>
	 * 		String inStr    -> 字符串<br>
	 * 		String pattern	-> 时间格式串<br>
	 * <br>
	 * 返回值：<br>
	 * 		String -> 转换后的时间格式字符串<br>
	 * <br>
	 * 修改记录：<br>
	 * 		日期				修改人			修改说明<br>
	 * 
	 **************************************************************************/
	public static Date StringToPatternDate(String inStr, String pattern)
	{
		if (inStr==null) { return null; }
		try 
		{
			SimpleDateFormat formatter = new SimpleDateFormat(pattern);
			Date outDate = formatter.parse(inStr);
			return outDate;
		}
		catch (Exception e) 
		{
			//return null;
			e.printStackTrace();
			return null;
		}
	}

	/**
	 * ************************************************************
	 * 
	 * 函数名：getTime<br>
	 * <br>
	 * 功能：根据从1970-01-01 00:00:00开始的秒数获取时间字符串表示<br>
	 * <br>
	 * 作者：ZhengYan 2013-7-5<br>
	 * <br>
	 * @param time 从1970-01-01 00:00:00开始的毫秒数
	 * @return 时间字符串	yyyy-MM-dd hh:mm:ss格式
	 * <br>
	 * 修改记录：<br>
	 * 		日期				修改人			修改说明<br>
	 * 
	 *************************************************************
	 */
	public static String getTime(long time)
	{
		Date date = new Date(time*1000l);
		int m = (date.getMonth() + 1);
		int d = date.getDate();
		int h = date.getHours();
		int mm = date.getMinutes();
		int s = date.getSeconds();
		
		return (date.getYear() + 1900) + "-" + (m > 9 ? m : ("0" + m)) + "-" + (d > 9 ? d : ("0" + d)) + " " + (h > 9 ? h : ("0" + h)) + ":" + (mm > 9 ? mm : ("0" + mm)) + ":" + (s > 9 ? s : ("0" + s));
	}
	
	/**************************************************************
	 * 
	 * 函数名：getInterDate<br>
	 * <br>
	 * 功能：获取两个日期之间的日期列表<br>
	 * 【传入和返回的日期格式：YYYY-MM-DD】<br>
	 * <br>
	 * 作者：ZhengYan 2013-10-13<br>
	 * <br>
	 * @param beginDate 开始日期
	 * @param endDate 结束日期
	 * @return 两者与两者之间的日期数组
	 * <br>
	 * 修改记录：<br>
	 * 		日期				修改人			修改说明<br>
	 * 
	 **************************************************************/
	public static String[] getInterDate(String beginDate,String endDate)
	{
		List<String> result = new ArrayList<String>();
		
		String[] b_ymd = beginDate.split("-| |:");
		String[] e_ymd = endDate.split("-| |:");
		
		if(b_ymd.length < 3)
			return new String[0];
		if(e_ymd.length < 3)
			return new String[0];
		
		int b_y = Integer.parseInt(b_ymd[0]);
		int b_m = Integer.parseInt(b_ymd[1]);
		int b_d = Integer.parseInt(b_ymd[2]);
		
		int e_y = Integer.parseInt(e_ymd[0]);
		int e_m = Integer.parseInt(e_ymd[1]);
		int e_d = Integer.parseInt(e_ymd[2]);
		
		if(b_y > e_y)
			return new String[]{endDate.split(" ")[0],beginDate.split(" ")[0]};
		else if(b_y == e_y)
		{
			if(b_m  > e_m)
			{
				return new String[]{endDate.split(" ")[0],beginDate.split(" ")[0]};
			}
			else if(b_m == e_m)
			{
				if(b_d > e_d)
				{
					return new String[]{endDate.split(" ")[0],beginDate.split(" ")[0]};
				}
				else if(b_d == e_d)
				{
					return new String[]{beginDate.split(" ")[0]};
				}
			}
		}
		
		int _y = b_y;
		int _m = b_m;
		int _d = b_d;
		
		while(true)
		{
			result.add(_y + "-" + (_m > 9 ? _m : "0" + _m) + "-" + (_d > 9 ? _d : "0" + _d));
			
			if((++_d)>getDaysOfMonth(_y, _m))
			{
				_d = 1;
				_m++;
				if(_m > 12)
				{
					_m = 1;
					_y++;
				}
			}
			
			if(_y == e_y && _m == e_m && _d == e_d)
			{
				result.add(_y + "-" + (_m > 9 ? _m : "0" + _m) + "-" + (_d > 9 ? _d : "0" + _d));
				
				break;
			}
		}
		
		
		return result.toArray(new String[0]);
	}
	
	/**************************************************************
	 * 
	 * 函数名：dateCompare<br>
	 * <br>
	 * 功能：将传入的日期与当前日期比较<br>
	 * 【如果传入的日期大于当前的日期的话返回1，相等的话返回零，小于的话返回-1】<br>
	 * <br>
	 * 作者：ZhengYan 2013-10-14<br>
	 * <br>
	 * 
	 * @param date
	 * @return <br>
	 *         修改记录：<br>
	 *         日期 修改人 修改说明<br>
	 * 
	 **************************************************************/
	public static int dateCompare(String date) {
		Calendar today = Calendar.getInstance();
		int t_y = today.get(Calendar.YEAR);
		int t_m = today.get(Calendar.MONTH) + 1;
		int t_d = today.get(Calendar.DATE);
		
		String[] e_ymd = date.split("-| |:");
		int e_y = Integer.parseInt(e_ymd[0]);
		int e_m = Integer.parseInt(e_ymd[1]);
		int e_d = Integer.parseInt(e_ymd[2]);
		
		if(t_y > e_y)
			return -1;
		else if(t_y == e_y)
		{
			if(t_m  > e_m)
			{
				return -1;
			}
			else if(t_m == e_m)
			{
				if(t_d > e_d)
				{
					return -1;
				}
				else if(t_d == e_d)
				{
					return 0;
				}
				else
					return 1;
			}
			else
				return 1;
		}
		else
			return 1;
	}
   /**
    * ******************************************************
   * 函数名: compare_date
   * 功能     : 比较两个日期大小
   * 作者      ：Yaozhx 2016-8-12
   * 参数表: @param DATE1
   * 参数表: @param DATE2
   * 参数表: @return    
   * 返回值: int    
   * 修改记录：
   *          日期                 修改人                 修改说明
   *******************************************************
    */
    public static int compare_date(String DATE1, String DATE2) {
        
        
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        try {
            Date dt1 = df.parse(DATE1);
            Date dt2 = df.parse(DATE2);
            if (dt1.getTime() > dt2.getTime()) {
               // System.out.println("dt1 在dt2前");
                return 1;
            } else if (dt1.getTime() < dt2.getTime()) {
               // System.out.println("dt1在dt2后");
                return -1;
            } else {
                return 0;
            }
        } catch (Exception exception) {
            exception.printStackTrace();
        }
        return 0;
    }

    /**
     * ******************************************************
    * 函数名: compare_date
    * 功能     : 比较两个日期大小
    * 作者      ：Yaozhx 2016-8-12
    * 参数表: @param DATE1
    * 参数表: @param DATE2
    * 参数表: @return    
    * 返回值: int    
    * 修改记录：
    *          日期                 修改人                 修改说明
    *******************************************************
     */
     public static int compare_date(Date dt1, Date dt2) {
         

         try {
             if (dt1.getTime() > dt2.getTime()) {
                 //System.out.println("dt1 在dt2前");
                 return 1;
             } else if (dt1.getTime() < dt2.getTime()) {
                 //System.out.println("dt1在dt2后");
                 return -1;
             } else {
                 return 0;
             }
         } catch (Exception exception) {
             exception.printStackTrace();
         }
         return 0;
     }
    
    /**
     * ******************************************************
    * 函数名: compare_date
    * 功能     : 
    * 作者      ：Yaozhx 2016-8-12
    * 参数表: @param DATE1
    * 参数表: @return    
    * 返回值: int    
    * 修改记录：
    *          日期                 修改人                 修改说明
    *******************************************************
     */
     public static int compare_date(String DATE) {
         
         
         DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
         try {
             Date dt1 = df.parse(DATE);

             if (dt1.getTime() > new Date().getTime()) {
                 System.out.println("dt1 在dt2前");
                 return 1;
             } else if (dt1.getTime() < new Date().getTime()) {
                 System.out.println("dt1在dt2后");
                 return -1;
             } else {
                 return 0;
             }
         } catch (Exception exception) {
             exception.printStackTrace();
         }
         return 0;
     }

    
    
	/**************************************************************************
	 * 
	 * 函数名：getTimestamp()<br>
	 * <br>
	 * 功能：取时间数<br>
	 * <br>
	 * 作者：Huangjsh 2011-12-12<br>
	 * <br>
	 * 参数表：<br>
	 * 无<br>
	 * <br>
	 * 返回值：<br>
	 * String -> 10位时间数<br>
	 * <br>
	 * 修改记录：<br>
	 * 日期 修改人 修改说明<br>
	 * 
	 **************************************************************************/
	public static String getTimesTamp() {
		Date date = new Date();
		long time = date.getTime();
		String dateline = time + "";
		dateline = dateline.substring(0, 10);
		return dateline;
	}
	
	/**************************************************************************
	 * 
	 * 函数名：DateToSimpleInt(Date inDate)<br>
	 * <br>
	 * 功能：取时分数<br>
	 * <br>
	 * 作者：YaoZhx 2015-05-21<br>
	 * <br>
	 * 参数表：<br>
	 * 无<br>
	 * <br>
	 * 返回值：<br>
	 * Int -> 时分<br>
	 * <br>
	 * 修改记录：<br>
	 * 日期 修改人 修改说明<br>
	 * 
	 **************************************************************************/
	public static int DateToSimpleInt(Date inDate) 
	{
		String outDateStr = "";
		if (inDate != null) 
		{
			SimpleDateFormat formatter = new SimpleDateFormat("HHmm");
			outDateStr = formatter.format(inDate);
		}
		
		return  Integer.parseInt(outDateStr);
	}
	
	public static void main(String[] args) throws ParseException
	{
		//String date = "2016-08-12 13:24:45";
		//System.out.println(compare_date(date));
//		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//		Date d =new Date();
//		String dd =format.format(d);
//		Date ddd;
//		ddd = format.parse(dd);
//		System.out.println("dd>>>> "+dd);
		
		Date d =new Date();
		System.out.println(DateUtil.DateToPatternDate(d, "yyyy-MM-dd HH:mm:ss"));
		System.out.println(new Date());
		
		System.out.println(DateUtil.DateToPatternString(DateUtil.addDay(new Date(), 1), "yyyy-MM-dd HH:mm:ss"));
	}

}
